The present invention relates generally to relational database management systems and specifically to a method and system to support multiple designs in a relational database.
A conventional relational database management system (RDBMS) allows for the definition of data structures, storage and retrieval operations and integrity constraints. In such a database the data and relations between them are organized in tables. A table is a collection of records and each record in a table contains the same fields. Certain fields may be designated as keys which indicates the fields which uniquely identify the records in that table. Indexes will be maintained on key fields and on other selected fields. These indexes speed up searches for specific values of those fields.
Leading physical management products use relational database management systems to store network object data in tables corresponding to each object type. An object is a general designation that can refer to a map, location, floor, room, cabinet, device, port, or cable. Information about the objects which make up a network configuration at a point in time (either in the past, present, or future) is collected into a design. A design is a set of objects which are intended to be placed into service as a complete group.
Designs can be historic or proposed. The effective date of a historic design is the date that its objects were actually in the physical network and available for use. Proposed (or future) designs have an effective date indicating when they are expected to be placed in service. Designs are ordered by the date they became effective or are proposed to become effective. Proposed designs are classified as private or public. Objects in public designs are viewable by other designs with later effective dates. Objects in private designs are hidden from all other designs. Historic designs are always public.
Each object in a design is associated with the design to which it was first added, and changes to an object are stored as a modified copy of the object which is associated with the design in which the change occurs. Because the object types have a hierarchical relationship with each other, certain restrictions are imposed regarding which design the objects can be in. For example, if a device is located in a cabinet, the device can not exist in a design that occurs earlier than the design of the cabinet. Also, if the cabinet""s design is private as opposed to public, any devices placed in that cabinet must be in the same design because private designs are not visible in other designs.
Conventional Network Management Systems (NMSs) provide system users with information regarding whether specific objects are running properly or are not running properly, as well as information about how objects are connected to each other. FIG. 1 shows how a system user 100 accesses the network model, stored in a relational database 104 via a typical NMS 102. However, these systems don""t comprehensively track design objects or associate them with designs that are dependent upon them.
Because of the dependencies that can exist between objects that may be in different designs, certain operations like changing the effective date of a design and changing a design from public to private may not be allowed. When the effective date of a design is changed, it may cause an order conflict between an object in that design and an object in another design. When a public design becomes private, its objects are no longer visible to other designs, and some objects may become orphaned. If an operation would cause such conflicts, then the operation should not be allowed to take place.
To get the correct information about an object in a specific design, a user must be able to select the most recent instance of that object from the specified design or from all public designs that have an effective date earlier than the specified design. This selection operation will be performed often for many objects of all types, therefore its performance must be quick enough to present the results to the user without noticeable delay.
Therefore, what is needed is a method and system that allows the user to handle multiple designs while having the capability of building designs based upon historic and proposed designs. The system should analyze the dependencies of objects in a design and identify which objects are dependent upon objects in earlier public designs. The system should allow the user to stay up-to-date on current network information, review previous network configurations and work on as many proposed network configurations as desired. The present invention addresses such a need.
A method and system in accordance with the present invention receives correct information concerning a design in a database. The method comprises selecting a most recent instance of an object in the design and analyzing the dependencies of that object on the other objects in the design database.
Through the use of a method and system in accordance with the present invention, relational database management systems will have the capability of building designs upon other designs by presenting the user with the appropriate versions of objects from earlier designs. The method and system in accordance with the present invention will also allow changes to the ordering of designs within restrictions based on the dependencies between the designs. This will give the user the ability, to stay up-to-date on current network information, review previous network configurations and work on as many proposed network configurations as desired.